/************************************************************************************************************************************************************
*                          DESENVOLVEDORES: Paulo Costa; Diogo Oliveira; Iara Fernanda; Mariana Souza
*                          ORIENTADOR e CO-DESENVOLVEDOR: Prof.Dr. Eraldo Pereira Marinho
*
*                                                           ARQUIVO: parser.h
*
************************************************************************************************************************************************************/

typedef int token_t;

#ifndef max
  #define max(a,b) ( (a > b) ? (a) : (b))
#endif
#define FATALERR -1

/** parser-lexer interface **/
token_t lookahead;
extern void match(token_t);
extern char lexeme[256];


/** parser modules **/
extern void myparser(void);
extern void program(void);
extern void block(void);
extern void declarations(void);
extern void modules(void);
extern void procedure(void);
extern void function(void);
extern void idlist(void);
extern int typeid(void);
extern void stmtblock(void);
extern void stmtlist(void);
extern void stmt(void);
extern void ifstmt(void);
extern void whilestmt(void);
extern void repstmt(void);
extern void idstmt(void);
extern void expression(void);
extern void expr(void);
extern void term(void);
extern void factor(void);
extern void exprlist(void);
extern void formalparm (void);
extern void gotostmt(void);
extern void forstmt(void);
extern void gotostmt(void);
extern int isFLOAT();